<?php
/**
 * 任务管理示例
 */
use LSYS\Cron\Timer;
use LSYS\Cron;
use LSYS\Cron\Job;
use Runer\RunDome;
use LSYS\Cron\Utils;
include_once __DIR__."/Bootstarp.php";
include_once __DIR__."/Runer/RunDome.php";

//后台派发进程是否开启,一般做监控用
//后台进程名
//windows 默认为:array("dispatcher_listen.php","runer_listen.php");
//linux  默认未:array("unix_main.php");
$pname=array();//传空数组,用上面默认值
echo "后台服务运行中:".(Utils::is_daemon($pname)?"<span style='color:green;'>是</span>":"<span style='color:red;'>否</span>")."<br>";

$cron = new Cron(get_redis());
//任务名,必须全局唯一,可自行生成
$job_name='job_5860f54ef3ae4';//Utils::create_job_name();
//设置任务
$job= new Job($job_name,new RunDome());
$timer= new Timer();
$timer->set_seconds(Timer::create_loop(5));//每5秒执行一次
// $timer->set_minutes(1);
// $timer->set_hours(22);
// $timer->set_day(26);
// $timer->set_month(12);
// $timer->set_year(2016);
// $job->set_timer($timer);
// var_dump($cron->set_job($job));


//删除任务
// var_dump($cron->del_job('test_job'));

//获取待执行任务列表
foreach ($cron->run_job_list() as $v){
	$job=$v->get_job();
	echo "任务名:".$job->get_name()."<br>";
	echo "运行时间:".Utils::timer_to_string($job->get_timer())."<br>";
	echo "下次运行时间:".date("Y-m-d H:i:s",$v->get_run_time())."<br>";
}

//获取任务执行结果

$data=$cron->job_result();
foreach ($data as $v){
	list($time,$obj,$result)=$v;
	echo "<br>===============================<br>";
	echo "执行时间:".$time."<br>";
	echo "执行对象:".$obj."<br>";
	echo "执行结果:".$result."<br>";
	echo "<br>===============================<br>";
}

